|
Portable C Compiler (略して pcc) はベル研究所のStephen C. Johnsonが1970年代に書いたC言語コンパイラである〔A portable compiler: theory and practice 〕。異なるアーキテクチャ用のコードを出力することが容易なコンパイラの先駆けであり、1980年代初期には多くのCコンパイラがpccをもとにしていた〔The Development of the C Language 〕。Version 7 Unixでデニス・リッチーのコンパイラに代わって採用されたあとは、1990年の4.3BSD-Renoに含まれるなど、4.4BSDでGNU Cコンパイラに取って代わられるまで、長く標準コンパイラとして君臨していた。 pccの成功の鍵は移植性と診断能力にある。 *ソースファイルの大部分がマシン非依存である。 *文法違反に強く、不正なプログラムを受け付けない。lintはもともとpccの一部だった。 *pass1の時点でも最適化する。 こうした特徴を持つコンパイラは当時としては斬新で、たとえばデニス・リッチーによる最初のCコンパイラはPDP-11にべったり依存していた。 なお、pccはAlan Snyderによる別のportable C compilerからアイディアを取り入れているが、Snyderのものは遅く複雑で、実装上の問題もあった。 == 現在(2014年12月10日) == 近年ではAnders MagnussonがC99対応を目指して開発を続けており、2007年9月にはNetBSDのpkgsrcとOpenBSDのソースツリーに導入された〔'CVS: cvs.openbsd.org: src' - MARC 〕。どちらもまだ標準コンパイラとして利用しているわけではないが、GCCより軽量でメンテナンスしやすく、BSDライセンスであることから、関心が高まっている〔Slashdot | GCC Compiler Finally Supplanted by PCC? 〕。 利用者の観点からGCCと比較すると、以下の大きな違いがある。これは両者の目標とするものが異なるためである。 *pcc自体が小さく、ビルドしやすい。移植も容易である。 *pcc自体の動作が高速である。 *出力されるコードが大きく、遅い。GCCは各種最適化に優れている。 2011年4月1日、PCC version 1.0がついにリリースされた。BSD FundのプログラムマネジャーであるMichael Dexterは、プロジェクトへの寄付者に向けて、こう語っている。 2014年12月10日、PCC version 1.1がリリースされた。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Portable C Compiler」の詳細全文を読む スポンサード リンク
|